package com.ds.theme;

import java.awt.*;

public class GreenColorTheme implements ColorTheme
{
	private Paint backgoundPaint = null;
	private Paint darkerBackgoundPaint = null;
	private Paint brighterBackgroundPaint = null;
	private Paint backgroundSelectedPaint = null;
	private Paint foregroundPaint = null;
	private Paint foregroundSelectedPaint = null;
	private Paint foregroundDisabledPaint = null;
	private Color backgroundColor1 = new Color( 51, 153, 102 );
	private Color backgroundColor2 = new Color( 101, 254, 152 );

	public GreenColorTheme()
	{
		this( new Dimension() );
	}

	public GreenColorTheme( Dimension dim )
	{
		update( dim );

		this.foregroundPaint = new Color( 77, 77, 77 );
		this.backgroundSelectedPaint = this.backgoundPaint;
		this.foregroundSelectedPaint = Color.BLACK;
		this.foregroundDisabledPaint = new Color( 185, 185, 185 );
	}

	public void update(Dimension dim)
	{
		this.backgoundPaint = new GradientPaint( dim.width / 2, 0, backgroundColor1, dim.width / 2,
//												 dim.height, new Color( 51, 204, 102), false);
                                                 dim.height, backgroundColor2, false );

		this.darkerBackgoundPaint = new GradientPaint( dim.width / 2, 0, backgroundColor1.darker(), dim.width / 2,
		                                               dim.height, backgroundColor2.darker(), false );

		this.brighterBackgroundPaint = new GradientPaint( dim.width / 2, 0, backgroundColor1.brighter(), dim.width / 2,
		                                                  dim.height, backgroundColor2.brighter(), false );
	}

	public Paint darkerBackgroundPaint()
	{
		return darkerBackgoundPaint;
	}

	public Paint brighterBackgroundPaint()
	{
		return brighterBackgroundPaint;
	}

	public Paint getBackgroundPaint()
	{
		return backgoundPaint;
	}

	public Paint getBackgroundSelectedPaint()
	{
		return backgroundSelectedPaint;
	}

	public Paint getForegroundDisabledPaint()
	{
		return foregroundDisabledPaint;
	}

	public Paint getForegroundPaint()
	{
		return foregroundPaint;
	}

	public Paint getForegroundSelectedPaint()
	{
		return foregroundSelectedPaint;
	}

}
